package com.ruoyi.project.order.info.domain;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.framework.aspectj.lang.annotation.Excel;
import com.ruoyi.framework.web.domain.BaseEntity;

/**
 * 订单信息对象 order_info
 * 
 * @author yyj
 * @date 2021-05-13
 */
public class OrderInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 订单号 */
    @Excel(name = "订单号")
    private Long orderId;

    /** 预订方式 */
    @Excel(name = "预订方式")
    private Long preOrderTypeId;

    /** 手机号 */
    @Excel(name = "手机号")
    private String phone;

    /** 房间数 */
    @Excel(name = "房间数")
    private Long numOfRoom;

    /** 入住人数 */
    @Excel(name = "入住人数")
    private Long peopleCount;

    /** 预订日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "预订日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date orderDate;

    /** 预定天数 */
    @Excel(name = "预定天数")
    private Long orderDays;

    /** 订单状态:0-已下单，1-已付款，2-已消费，3-已取消，4-被删除 */
    @Excel(name = "订单状态:0-已下单，1-已付款，2-已消费，3-已取消，4-被删除")
    private Long orderStatus;

    /** 订单费用 */
    @Excel(name = "订单费用")
    private Long orderCost;

    /** 支付方式：0-现金，1-微信支付 */
    @Excel(name = "支付方式：0-现金，1-微信支付")
    private Long payType;

    private List<String> rooms;

    public List<String> getRooms() {
        return rooms;
    }

    public void setRooms(List<String> rooms) {
        this.rooms = rooms;
    }

    public void setOrderId(Long orderId)
    {
        this.orderId = orderId;
    }

    public Long getOrderId()
    {
        return orderId;
    }
    public void setPreOrderTypeId(Long preOrderTypeId)
    {
        this.preOrderTypeId = preOrderTypeId;
    }

    public Long getPreOrderTypeId()
    {
        return preOrderTypeId;
    }
    public void setPhone(String phone)
    {
        this.phone = phone;
    }

    public String getPhone()
    {
        return phone;
    }
    public void setNumOfRoom(Long numOfRoom)
    {
        this.numOfRoom = numOfRoom;
    }

    public Long getNumOfRoom()
    {
        return numOfRoom;
    }
    public void setPeopleCount(Long peopleCount)
    {
        this.peopleCount = peopleCount;
    }

    public Long getPeopleCount()
    {
        return peopleCount;
    }
    public void setOrderDate(Date orderDate)
    {
        this.orderDate = orderDate;
    }

    public Date getOrderDate()
    {
        return orderDate;
    }
    public void setOrderDays(Long orderDays)
    {
        this.orderDays = orderDays;
    }

    public Long getOrderDays()
    {
        return orderDays;
    }
    public void setOrderStatus(Long orderStatus)
    {
        this.orderStatus = orderStatus;
    }

    public Long getOrderStatus()
    {
        return orderStatus;
    }
    public void setOrderCost(Long orderCost)
    {
        this.orderCost = orderCost;
    }

    public Long getOrderCost()
    {
        return orderCost;
    }
    public void setPayType(Long payType)
    {
        this.payType = payType;
    }

    public Long getPayType()
    {
        return payType;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("orderId", getOrderId())
            .append("preOrderTypeId", getPreOrderTypeId())
            .append("phone", getPhone())
            .append("numOfRoom", getNumOfRoom())
            .append("peopleCount", getPeopleCount())
            .append("orderDate", getOrderDate())
            .append("orderDays", getOrderDays())
            .append("orderStatus", getOrderStatus())
            .append("orderCost", getOrderCost())
            .append("payType", getPayType())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("rooms",getRooms())
            .toString();
    }
}
